﻿#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <string.h>
#include <assert.h>
#include <errno.h>
////自学KMP算法，下面不是KMP算法
//char* my_strstr(const char* str1, const char* str2)
//{
//	assert(str1 && str2);
//	const char* s1 = NULL;
//	const char* s2 = NULL;
//	char* ret = str1;
//	while (*ret)
//	{
//		s1 = ret;
//		s2 = str2;
//		while (*s1&&*s2&&*s1 == *s2)
//		{
//			s1++;
//			s2++;
//		}
//		if (*s2 == '\0') return ret;
//		ret++;
//	}
//	return NULL;//从某种意义上来说return可以跳出循环
//}
//int main(void)
//{
//	char arr1[] = "abcdefabcdef";
//	char* arr2 = "fab";
//	char* ret = my_strstr(arr1, arr2);
//	if (ret == NULL)	printf("不存在\n");
//	else				printf("%s\n", ret);
//
//	return 0;
//}
int main(void)
{
	for (int i = 0; i < 10; i++)
	{
		printf("%d:%s\n", i, strerror(i));
	}
	FILE* pFile;
	pFile = fopen("unexist.ent", "r");
	if (pFile == NULL)
	{
		printf("Error opening file unexist.ent: %s\n", strerror(errno));
		perror("打开文件失败，原因是");
	}
		
	//perror函数打印完参数部分的字符串后，再打印⼀个冒号和⼀个空格，再打印错误信息
	return 0;
}